package com.zp.business.entity.outpFees.vo;

import com.zp.common.core.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 门诊收费记录主视图对象
 *
 * @author zhang peng
 * @ date 2024-04-12
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class OutpFeesMasterVo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String outpFeesMasterId;

    /**
     * 病人信息Id
     */
    private String patientId;

    /**
     * 就诊ID
     */
    private String clinicId;

    /**
     * 就诊日期
     */
    private Date visitDate;

    /**
     * 待收费记录ID
     */
    private String ordersId;

    /**
     * 收费号
     */
    private String feesNo;

    /**
     * $column.columnComment
     */
    private String serialNoParent;

    /**
     * 流水号
     */
    private String serialNo;

    /**
     * 总费用
     */
    private BigDecimal costs;

    /**
     * 应收费用
     */
    private BigDecimal charges;


    /**
     * 退费金额
     */
    private BigDecimal refundCharges;
    /**
     * 舍入差额
     */
    private BigDecimal diffCost;

    /**
     * 交费标志
     */
    private String chargeFlag;

    /**
     * 退费号
     */
    private String refundedFeesNo;

    /**
     * 退费人
     */
    private String refundedPerson;

    /**
     * 结账号
     */
    private String acctNo;

    /**
     * 机构ID
     */
    private String orgId;

    /**
     * 备注信息
     */
    private String remarks;

    /**
     * 医保结算交易类型（取自门诊收费业务类型字典 MZ_BUSINESS_TYPE_DICT）
     */
    private String ybSerialType;

    /**
     * 医保结算交易流水号
     */
    private String ybSerialNo;

    /**
     * 医保结算交易信息
     */
    private String ybSerialData;

    /**
     * 电子发票流水号
     */
    private String invoiceSerialNo;

    /**
     * 参保类型
     */
    private String canBaoType;

    private String name;

    private String sex;
    private Integer age;
    private Integer ageMonth;
    private Integer ageDay;
    private Integer ageHours;
    /**
     * 患者医保来源 1本市 2省内 3全国
     */
    private String source;

    /**
     * 费别
     */
    private String chargeType;
    /**
     * 就诊科室
     */
    private String deptId;
    private String deptName;
    private String idNo;
    private String phone;

    private String clinicNo;

    /**
     * 通过serialNo进行应收费用合计
     */
    private BigDecimal chargesSum;

    /**
     * 收费操作人
     */
    private String operationUser;

    /**
     * 通过serialNo进行总费用合计
     */
    private BigDecimal costsSum;

    private List<OutpFeesPaymentsMoneyVo> paymentsMoneyVoList;

    private String createUserName;

    private List<OutpFeesDetailVo> detailVoList;

}
